# 使用官方的 Node.js 运行时镜像作为基础镜像
FROM node:22

# 要是想用docker启动前端项目，没有必要在外面部署一个nginx 在docker里面带一个nginx就可以了，
# 从服务器端口跳到容器的nginx80端口，然后由容器的nginx做反向代理，映射到dist目录下
# 可以在接下来有空的时候把前后端代码都镜像化了，现在先不动，先把crawl4ai的集成做了

# 设置工作目录
WORKDIR /usr/src/app

# 复制 package.json 和 package-lock.json
COPY package*.json ./

# 安装项目依赖
RUN npm install

# 复制项目文件到工作目录
COPY . .

# 构建项目
RUN npm run build

# 使用 Nginx 提供静态文件服务
FROM nginx:alpine AS nginx
COPY --from=0 /usr/src/app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]